//#include<bits/stdc++.h>
//using namespace std;
//int main()
//{
//    int n;
// long long int a[100][100][4];
//    cin >> n;
//    memset(a, 0, sizeof(a));
//    for (int i = 1; i <= n; i++)
//        for (int j = 1; j <= i; j++)
//        {
//            cin >> a[i][j][1];
//            a[i][j][2] = a[i][j][1];
//            a[i][j][3] = 0;
//        }
//    for (int i = n - 1; i >= 1; i--)
//        for (int j = 1; j <= i; j++)
//        {
//            if (a[i + 1][j][2] > a[i + 1][j + 1][2])
//            {
//                a[i][j][2] = a[i + 1][j][2] + a[i][j][1];
//                a[i][j][3] = 0;
//            }
//            else {
//                a[i][j][2] = a[i + 1][j + 1][2] + a[i][j][1];
//                a[i][j][3] = 1;
//            }
//        }
//    cout << a[1][1][2] << endl;
//    /*int j = 1;
//    for (int i = 1; i <= n - 1; i++)
//    {
//        cout << a[i][j][1] << "->";
//        j = j + a[i][j][3];
//    }
//    cout << a[n][j][1] << endl;*/
//}
///*

//
// */

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n, a[200][200], b[200][200], maxn;
    while(1)
    {
        maxn = 0;
    cin >> n;
    if (n == 0)exit(0);
    memset(a, 0, sizeof(a));
    memset(b, 0, sizeof(b));
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= i; j++)
        {
            cin >> b[i][j];
            //b[i][j] = a[i][j];
        }
    for (int i = 2; i <= n; i++)
        for (int j = 1; j <= i; j++)
        {
            if (b[i - 1][j - 1] > b[i - 1][j])
                b[i][j] = b[i][j] + b[i - 1][j - 1];
            else
                b[i][j] = b[i][j] + b[i - 1][j];

        }
    maxn = 0;
    for (int j = 1; j <= n; j++)
        if (b[n][j] > maxn)
            maxn = b[n][j];
    cout << maxn << endl;
    }
    return 0;
}


